import axios from "axios";
// import config from "vue/src/core/config";

import Vue from 'vue';
import router from "@/router";
const config=Vue.config;
const request = axios.create({
    baseURL: 'http://localhost:9090',
    timeout: 30000    //超时时间为30秒
})

// 请求拦截器
// 所有的请求都会到这里来,会去执行第一个参数，同时自动传入config
request.interceptors.response.use(config => { // 在发送请求之前做些什么
    config.headers['Content-Type'] = 'application/json;charset=utf-8';
    // let user=JSON.parse(localStorage.getItem("honey-user")||'{}')
    // config.headers['token']=user.token    //设置请求头  //这个token就是登录接口返回的token，在每次请求的时候，都会在请求头带上这个token作为验证信息
    return config
    }, error => {  // 对请求错误做些什么
        console.log('request error: ' + error) // for error debug
        return Promise.reject(error)
    })

//响应拦截器
//所有的响应都会到这里来,会去执行第一个参数，同时自动传入response
request.interceptors.response.use(
    response => {  // 对响应数据做点什么
        let res = response.data;
        //兼容服务端返回的字符串数据
        if(typeof res==='string'){
            res=res?JSON.parse(res):res
        }
        if(res.code==='401'){
            router.push('/login')
        }
         res.code  //错误的状态码
        return res;
    }, error => {   //对响应错误做点什么
        console.log('response error: ' + error) // for error debug
        return Promise.reject(error)
    })

export default request
